# 每日水泥货运量统计
import pandas as pd
import matplotlib.pyplot as plt

# 设置中文字体和图片清晰度
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['figure.dpi'] = 300

# 读取Excel文件
try:
    file_path = 'd:\\我爱数学\\FhjlViewDD.xlsx'
    df = pd.read_excel(file_path)
    
    # 检查数据列
    print('文件列名:', df.columns.tolist())
    
    # 筛选水泥数据
    cement_data = df[df['货品'].str.contains('水泥', na=False)]
    
    # 转换日期列为日期类型
    cement_data['创建时间'] = pd.to_datetime(cement_data['创建时间'])
    
    # 筛选6月份数据
    june_data = cement_data[(cement_data['创建时间'].dt.month == 6)]
    
    # 按日分组计算总量
    daily_total = june_data.groupby(june_data['创建时间'].dt.day)['净重'].sum()
    
    # 绘制柱状图
    plt.figure(figsize=(12, 6))
    daily_total.plot(kind='bar', color='steelblue')
    plt.title('6月份每日水泥货运量统计')
    plt.xlabel('日期（日）')
    plt.ylabel('水泥总量（吨）')
    plt.xticks(rotation=0)
    plt.grid(axis='y', linestyle='--', alpha=0.7)
    
    # 保存图片
    plt.savefig('d:\\我爱数学\\git630实训\\mark\\练习一\\6月水泥货运量统计.png')
    plt.show()
    
    # 输出统计结果
    print('\n6月份每日水泥货运量统计:')
    print(daily_total.to_string())
    
except FileNotFoundError:
    print('错误: 未找到Excel文件，请检查路径')
except KeyError as e:
    print(f'错误: 数据列 {e} 不存在，请检查列名')
except Exception as e:
    print(f'错误: {str(e)}')